/*
** 常用方法 js
**/

/*
************************* 常用方法 操作  ************************************
**/

// 根据传入对象id 返回此对象，若传入id或此对象不存在返回 null
function getObj($id) {
	if ($id == null) return null;
	return document.getElementById($id);
}
//重新加载页面
function loadwindow(url){
	window.location.href=url;
}
// 获取页面 id 值
function getValue($id) {
	if ($id == null) return "";
	var temp_obj = getObj($id);
	if (temp_obj == null) return "";
	if (to_small(temp_obj.tagName) == "input") {
		return temp_obj.value.trim();
	} else if (to_small(temp_obj.tagName) == "select") {
		return temp_obj.value.trim();
	} else if (to_small(temp_obj.tagName) == "div") {
		return temp_obj.innerHTML.trim();
	} else {
		return temp_obj.innerHTML;
	}
}

// 设置页面 id 值
function setValue($id, $value) {
	if ($id == null) return;
	if (getObj($id) == null) return;
	var temp_obj = getObj($id);
	if (to_small(temp_obj.tagName) == "input") {
		temp_obj.value = $value;
	} else if (to_small(temp_obj.tagName) == "div") {
		temp_obj.innerHTML = $value;
	} else {
		temp_obj.innerHTML = $value;
	}
}

// 清除页面 id 值
function clearValue($id) {
	if ($id == null) return;
	if (getObj($id) == null) return;
	var temp_obj = getObj($id);
	if (to_small(temp_obj.tagName) == "input") {
		temp_obj.value = "";
	} else if (to_small(temp_obj.tagName) == "div") {
		temp_obj.innerHTML = "";
	} else {
		temp_obj.innerHTML = "";
	}
}

// 设置弹出页面，检查输入参数不合法，给出提示信息 div id 为 popup_msg
function setMsg($value) {
	getObj("popup_msg") == null ? "" : getObj("popup_msg").innerHTML = $value;
	clearMsg();
}

// 将显示信息过2秒清除
function clearMsg() {
	window.setTimeout(function() {clearValue("popup_msg")}, 2000);
}

// 取得焦点
function getFocus($id) {
	if ($id == null) return null;	
	getObj($id) == null ? "" : getObj($id).focus();
}

// 显示对象
function showObj($id) {
	if ($id == null) return;	
	getObj($id) == null ? "" : getObj($id).style.display = "inline-block"
}

// 隐藏对象
function hideObj($id) {
	if ($id == null) return;	
	getObj($id) == null ? "" : getObj($id).style.display = "none";
}

// 设置只读 true 只读 false 不只读
function setReadOnly($id, $value) {
	getObj($id) == null ? "" : getObj($id).readOnly = $value;
}

// input、button 是否可用 true 不可用变灰 false 可用正常显示
function disabledObj($id, $value) {
	getObj($id) == null ? "" : getObj($id).disabled = $value;
}

// ie或ff
function getNavigator() {
	if ((navigator.userAgent.indexOf("MSIE")>0) && (parseInt(navigator.appVersion) >= 4)) return "ie";
    if (navigator.userAgent.indexOf("Firefox")>0) return "ff";
}

// 返回随机参数字符串
function getRmdStr() {
	return "&rmd="+Math.random();
}

// 去除空格
String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g, "");
}

// 是否数字
function isInteger($value) {
	//"^\\d+$"　　//非负整数（正整数   +   0）     
  	//"^[0-9]*[1-9][0-9]*$"　　//正整数     
  	//"^((-\\d+)|(0+))$"　　//非正整数（负整数   +   0）     
  	//"^-[0-9]*[1-9][0-9]*$"　　//负整数     
  	//"^-?\\d+$"　　　　//整数     
 	//"^\\d+(\\.\\d+)?$"　　//非负浮点数（正浮点数   +   0）     
  	//"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"　　//正浮点数     
  	//"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"　　//非正浮点数（负浮点数   +   0）     
 	//"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"　　//负浮点数     
  	//"^(-?\\d+)(\\.\\d+)?$"　　//浮点数 
	
	return /^[0-9]*[1-9][0-9]*$/.test($value);
}

// input 只能输入数字
function onlyNumber(e) {
	var iKeyCode = window.event ? e.keyCode : e.which;
    if(!(((iKeyCode >= 48) && (iKeyCode <= 57)) 
    || (iKeyCode == 13) || (iKeyCode == 46) || (iKeyCode == 45)
    || (iKeyCode == 37) || (iKeyCode == 39) || (iKeyCode == 8))) {
        if (getNavigator() == "MSIE") {
            e.returnValue = false;	// IE取消事件
        } else {
            e.preventDefault();   	// firefox、opera浏览器是用prevenDefault()来取消事件的
        }
    }
}

// 转换为大写
function to_big($value) {
	if ($value == null || $value == "") return "";
	return $value.toUpperCase();
}

// 转换为小写
function to_small($value) {
	if ($value == null || $value == "") return "";
	return $value.toLowerCase();
}

// 获取上下文全路径
function getBasePath() {
	return contextPath;
}

// 刷新验证码
function refreshVerificationcode() {
	if (getObj("verificationcode_img") == null) {
		alert("请将img id设为 verificationcode_img");
		return;
	}
	getObj("verificationcode_img").src = getBasePath() + "/valiimg" + "?rmd=" + Math.random();
}

// 根据不同浏览器自动设置iframe高度
function autoIfrHeight($ifr_id) {
	if (getNavigator() == "ie") {
		document.onreadystatechange = function() {
			if (document.readyState == "complete") {
				getObj($ifr_id).style.height = getObj($ifr_id).contentWindow.document.body.scrollHeight;
			}
		}
	} else {
		window.onload = function() {
			if (document.readyState == "complete") {
				getObj($ifr_id).style.height = getObj($ifr_id).contentWindow.document.body.scrollHeight;
			}
		}
	}
}

// 取浏览器宽度
function getScreenWidth() {
	return window.screen.width;
}

// 取浏览器高度
function getScreenHeight() {
	return window.screen.height;
}

// 打开窗口 1 打开正常窗口 2  打开隐藏工具栏，地址栏窗口
function on_openWindow($url, $type) {
	var temp_width = getScreenWidth();
	var temp_height = getScreenHeight();
	var win = null;
	if ($type == 1) {
		win = window.open($url, '', 'width=' + temp_width + ',height=' + temp_height + ',top=0, left=0, toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes, location=yes, status=yes');
	}	
	if ($type == 2) {
		win = window.open($url, '', 'width=' + temp_width + ',height=' + temp_height + ',top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no'); 
	}
	
	return win;	
}

// 关闭父窗口
function on_closeWindow() {
 	window.opener = null;
 	window.open("","_self");   
 	window.close();   
}

// 取document宽度
function getDocWidth() {
	return document.documentElement.clientWidth;
}

// 取document高度
function getDocHeight() {
	return document.documentElement.clientHeight;
}
/*
************************* 分页 pagination *****************************
**/

// AJAX分页跳转 用于url分页
function godopage(url) {
	var pageno = document.all("pagewithtxt").value;
	var patrn = /^[0-9]{1,5}$/;//验证是否为整数
	if(!patrn.exec(pageno)){
		document.getElementById("pagewithtxt").value="";
		return false;
	}
	if(pageno=="0"){
		pageno = "1";
	}
	pageno = pageno - 1;
    url=url + pageno + "&pageMethod=next";
    dopage(url);
}

// AJAX分页查询 formOrUrl 为表单时进行表单分页 为url时进行url分页
function dopage(formOrUrl, currentPage, pageMethod) {
	if (getObj(formOrUrl)) {
		var $form = $('#' + formOrUrl);
		var temp_array = $form.serializeArray();
		on_params(temp_array); // 如果页面有select下拉的则进行select的key处理
		if (!isInteger(currentPage) || currentPage <= 0) {
			currentPage = 1;
			pageMethod = "next";
		} else {
			temp_array[temp_array.length] = { "name" : "currentPage", "value" : currentPage}; // 当前页
			temp_array[temp_array.length] = { "name" : "pageMethod", "value" : pageMethod}; // 首页 first、上一页 previous、下一页 next 尾页 last
		}		
		$.ajax({
			type:'POST',
			url:$form.attr("action"),
			data:temp_array,
			cache: false,
			success: showdopage
		});
	} else {
		if (getObj("_REQUEST_REQURY_STR")) {
			formOrUrl += "&_REQUEST_REQURY_STR=" + getValue("_REQUEST_REQURY_STR");
		}
		formOrUrl += "&randm="+Math.random();
		var showPersonAjax = $.post(formOrUrl, showdopage);
	}
}



// AJAX分页结果显示
function showdopage(result) {
	var res = result;
	res = res.replace(/(^\s*)|(\s*$)/g,""); 
	var begin = res.indexOf("<!--AjaxTableBegin-->");
	var end = res.indexOf("<!--AjaxTableEnd-->");
	res = res.substring(begin,end);
	setValue("AjaxTable", res);

	// 鼠标移动行上显示效果
	if(typeof(cssTableHover) == "function"){
		cssTableHover();
	}	
	
	// 事件
	if(typeof(initEvent) == "function"){
		initEvent();
	}
	
	// 事件
	if(typeof(init_event) == "function"){
		init_event();
	}
	return false;
}

// 根据浏览器高度返回分页行数
function getPageSize() {
	var panelBar = $('.panelBar');
	var searchBar = $('.searchBar');
	var x=0;
	if(panelBar.length>1){
		x = panelBar.eq(0).height();
	}
	if(searchBar.length>0){
		x = searchBar.height()+5+22;
	}
	var count = Math.round((document.documentElement.clientHeight-164-27-25-27-x-24)/22);
	return count;
}

// 根据浏览器高度设置分页行数
function setPageSize() {
	if (getObj("pageSize") == null) {
		alert("页面里未添加pageSize隐藏域");
	}
	setValue("pageSize", getPageSize());
}

// 页面分页调用
function on_page($formName, $cureentPage, $pageMethod) {
	if ($formName == null) return;
	if ($cureentPage == null) return;
	if ($pageMethod == null) return;
	dopage($formName, $cureentPage, $pageMethod);
}

// 页面分页调用 用于弹出窗口带分页
function on_page2($formName, $cureentPage, $pageMethod) {
	if ($formName == null) return;
	if ($cureentPage == null) return;
	if ($pageMethod == null) return;
	dopage2($formName, $cureentPage, $pageMethod);
}

// AJAX分页查询 用于弹出窗口带分页
function dopage2(formOrUrl, currentPage, pageMethod) {
	if (getObj(formOrUrl)) {
		var $form = $('#' + formOrUrl);
		var temp_array = $form.serializeArray();
		on_params(temp_array); // 如果页面有select下拉的则进行select的key处理
		if (!isInteger(currentPage) || currentPage <= 0) {
			currentPage = 1;
			pageMethod = "next";
		} else {
			temp_array[temp_array.length] = { "name" : "currentPage", "value" : currentPage}; // 当前页
			temp_array[temp_array.length] = { "name" : "pageMethod", "value" : pageMethod}; // 首页 first、上一页 previous、下一页 next 尾页 last
		}		
		$.ajax({
			type:'POST',
			url:$form.attr("action"),
			data:temp_array,
			cache: false,
			success: showdopage2
		});
	} else {
		if (getObj("_REQUEST_REQURY_STR")) {
			formOrUrl += "&_REQUEST_REQURY_STR=" + getValue("_REQUEST_REQURY_STR");
		}
		formOrUrl += "&randm="+Math.random();
		var showPersonAjax = $.post(formOrUrl, showdopage);
	}
}

// AJAX分页结果显示 用于弹出窗口带分页
function showdopage2(result) {
	var res = result;
	res = res.replace(/(^\s*)|(\s*$)/g,""); 
	var begin = res.indexOf("<!--AjaxTableBegin2-->");
	var end = res.indexOf("<!--AjaxTableEnd2-->");
	res = res.substring(begin,end);
	setValue("AjaxTable2", res);
	if($.ajaxLayer){
		if($('#one_check').length>0){
			$.ajaxLayer.ajaxLayer_check();
		}
		if($('#muti_check_table').length>0){
			$.ajaxLayer.muti_check();
		}
		
	}
	return false;
}

// 清空 用于弹出窗口带分页
function crud_clear2($formName) {
	if ($formName == null) return;
	var $form = $('#' + $formName);
	$('input',$form).val("");
	$('select',$form).val("");
	$('input',$form).attr("key", "");
}

/***************** CRUD、查询、清空操作 ****************************/

// 查询
function crud_search($formName) {
	if ($formName == null) return;
	setPageSize(); 					// 根据浏览器高度设置分页行数
	var $form = $('#' + $formName);
	var temp_params = $form.serializeArray();
	on_params(temp_params);
	$.ajax({
		type:'POST',
		url:$form.attr("action"),
		data:temp_params,
		cache: false,
		success: showdopage
	});
}

// 查询 用于弹出窗口带分页
function crud_search2($formName) {
	if ($formName == null) return;
	setValue("pageSize2", 6); // 弹出页行数
	var $form = $('#' + $formName);
	var temp_params = $form.serializeArray();
	on_params(temp_params);
	$.ajax({
		type:'POST',
		url:$form.attr("action"),
		data:temp_params,
		cache: false,
		success: showdopage2
	});
}

// 如果有下拉窗口，则进行替换值处理
function on_params($params) {
	if ($params == null) return;
	for (var i = 0; i < $params.length; i++) {
		var temp_param = $params[i];
		var temp_name = temp_param.name;
		var temp_name_index = temp_name.indexOf("_8select8");
		if (temp_name_index != -1) {
			var temp_key = getObj(temp_name).getAttribute("key");
			if (temp_key != null) {
				var temp_name_value = temp_key;
				if (temp_name_value != "") {					
					$params[i].value = temp_name_value;
				}
			}
			$params[i].name = temp_name.substring(0, temp_name_index);
		}
	}
}

// 清空
function crud_clear($formName) {
	if ($formName == null) return;
	var $form = $('#' + $formName);
	$('input',$form).val("");
	$('select',$form).val("");
	$('input',$form).attr("key", "");
}

// 弹出增加窗口
function crud_add($title, $url) {
	if ($title == null) $title = "";
	if ($url == null) return;
	var temp_title = "增加" + $title;
	var temp_url = "url:post?";
	if($url.indexOf(".jsp")==-1){
	    temp_url += getBasePath();
	    temp_url += $url;
		temp_url += getRmdStr();
	}
	    temp_url += $url;
	tipsWindown(temp_title , temp_url, "950", "300", "true", "", "false", "text", "true");
}

// 弹出修改窗口
function crud_edit($title, $url) {
	if ($title == null) $title = "";
	if ($url == null) return;
	var temp_obj = $("input[id=row_id]:checked");
	var temp_length = temp_obj.length;
	var temp_id = null;
	if (temp_length == 0) {
		alert("请选择要修改的记录!");
		return;
	}
	if (temp_length > 1) {
		alert("只能选择一条记录!");
		return;
	}
	var temp_title = "修改" + $title;
	var temp_url = "url:post?";
	temp_url += getBasePath();
	temp_url += $url;
	temp_id = temp_obj[0].value;
	temp_url += "&id=" + temp_id;
	temp_url += getRmdStr();
	tipsWindown(temp_title, temp_url, "950", "300", "true", "", "false", "text", "true");
}

// 双击一行时弹出修改窗口
function crud_dbedit($title, $url, $id) {
	if ($title == null) $title = "";
	if ($url == null) return;
	if ($id == null) return;

	var temp_title = "修改" + $title;
	var temp_url = "url:post?";
	temp_url += getBasePath();
	temp_url += $url;
	temp_url += "&id=" + $id;
	temp_url += getRmdStr();
	tipsWindown(temp_title, temp_url, "950", "300", "true", "", "false", "text", "true");
}

// 删除
function crud_delete($url) {
	var temp_ids = $("input[id=row_id]:checked").serialize();
	if (temp_ids == null || temp_ids.trim() == "") {
		alertMsg.info("请选择要删除的记录!");//alert("请选择要删除的记录!");
		return;
	}
	if (!alertMsg.confirm("您确定要删除吗？")) {
		return;
	}
	disabledObj("btn_delete", true); // 处理数据时，按钮disabled
	var url = getBasePath() + $url;
	url += getRmdStr();
	var data = {
		ids : temp_ids
	};
	$.post(url, data, crud_delete_callback);
}

// 删除回调
function crud_delete_callback(result) {
	var temp_result = result.trim();
	if (temp_result == "yes") {
		alert("删除成功!");
		// 删除成功 更新数据
		navTab.reload_currentTab();
	} else {
		alert("删除失败!");
	}
}

// 提交时，判断是增加还是修改操作 add 增加操作 edit 修改操作
function on_submit() {
	var operation = getValue("operation");
	if (operation == "") return;	
	if (operation == "add") {
		on_addCheck(); 	// 增加前输入内容检查
	} else if (operation == "edit") {
		on_editCheck();	// 修改前输入内容检查
	}
}

// 页面查询弹出操作 $url ajax返回数据url id页面需要设置值id
function on_s_s(dataType, source, $id){
 	switch(dataType){
   		case "url":
		 	var url = getBasePath() + source;
			url += getRmdStr();
		    var params = {
		    };
		   	$.ajax({
			    async:true,
			    type:"post",   
			    data:params,
			    dataType:"json",
			    url:url,
			    success:function(data){on_search_select_callback(dataType,data, $id)}
		   	});
		   	break;
   		case "json" :
     		var data = source;
       		on_search_select_callback(dataType,data, $id);
       		break;
   		case "page" :
     		var pageData = source;
     		$.ajax({
			    async:true,
			    type:"post",   
			    data:{},
			    url:pageData,
			    success:function(data){on_fendian_select_callback(dataType,data, $id)}
		   	});
       		break;
   		case  "mutiCheck":
   			var url = getBasePath() + source;
			url += getRmdStr();
		    var params = {
		    };
		   	$.ajax({
			    async:true,
			    type:"post",   
			    data:params,
			    dataType:"json",
			    url:url,
			    success:function(data){on_muti_select_callback(dataType,data, $id);}
		   	});
   			break;
   		case "time" :
   			var url = getBasePath() + '/page/common/time.jsp';
     		$.ajax({
			    async:true,
			    type:"post",   
			    data:{},
			    url:url,
			    success:function(data){on_fendian_select_callback(dataType,data, $id)},
			    error:function(){alertMsg.info("通信失败!")}
		   	});
       		break;
   		case "mPage" :
     		var pageData = source;
     		$.ajax({
			    async:true,
			    type:"post",   
			    data:{},
			    url:pageData,
			    success:function(data){on_fendian_select_callback(dataType,data, $id)}
		   	});
       		break;
 	}
}
//数据量大带分页的页面查询弹出操作回调
function on_fendian_select_callback(dataType,data, $id) {
data = $.trim(data);
if(data==""){return;}
	$.ajaxLayer.open({
		dataType:dataType,
		data:data,
		id:$id
	});
}

// 页面查询弹出操作回调
function on_search_select_callback(dataType,data, $id) {
	var temp_array = eval(data);
	if(!temp_array){
		return;
	};
	var html="";
	for(i=0;i<temp_array.length;i++) {
		html+="<li key="+temp_array[i].key+">"+temp_array[i].value+"</li>";
	}
	var length = temp_array.length;
	if(length<11){
		html = "<ul style='width:100px;' class='block-ul'>"+html+"</ul><div class='button ajaxLayer-bt'><div id='clear_"+$id+"' class='buttonContent'><button>清空</button></div></div>";
		}
	if(length>10){
		html = "<ul style='width:400px;' class='inline-ul'>"+html+"</ul><div class='button ajaxLayer-bt'><div id='clear_"+$id+"' class='buttonContent'><button>清空</button></div></div>";
		}
	
	$.ajaxLayer.open({
		dataType:dataType,
		data:html,
		id:$id
	});
}

function on_muti_select_callback(dataType,data,$id){
	var temp_array = eval(data);
	if(!temp_array){
		return;
	};
	var html="";
	for(i=0;i<temp_array.length;i++) {
		html+="<tr class='ajaxLayer-check'><th></th><td>"+temp_array[i].key+"</td><td>"+temp_array[i].value+"</td></tr>";
	}
	html = "<table id='muti_check_table' style='width:220px;' class='list'>"+html+"</table><div class='button'><div id='clear_"+$id+"' class='buttonContent'><button>清空</button></div></div><div class='button'><div class='buttonContent'><button id='muti_sub'>确定</button></div></div>";
	$.ajaxLayer.open({
		dataType:dataType,
		data:html,
		id:$id
	});
	
}

/***************** 复选择框全选与取消 ****************************/
function checkbox_event() {
	// 除第一行外操作
	/*$(".tableList tr").not("tr:first").click(function(){
		var chk = $(':checkbox',$(this));
		chk.attr('checked',!chk.attr('checked'));
	});
	 
	// 表头单击事件
	$(".tableList tr:first").click(function(){
		checkAll(".tableList" );
	});*/
	
	// 全选单击事件
	$('#allconchekbox').click(function(){
		checkAll(".tableList");
	});
	 
	// 全选操作
	function checkAll(jParent){
		var chk = $('tbody :checkbox',$(jParent));
		allcheck = document.getElementById('allconchekbox');	   
		if(allcheck.checked){
		 	chk.each(function(){
		  		this.checked = true;
			});
		}else{
		  chk.each(function(){
		  	this.checked = false;
		  });
		}	
	}
	
	
	/*$(':checkbox',$('.tableList tr').not("tr:first")).each(function(){
	  $(this).unbind().bind('click',function(){
	   $(this).attr('checked',!$(this).attr('checked'));
	  });
	});*/
}

function all_check(jParent){
var chk = $(':checkbox',$(jParent)).not('.checkAll');
var allcheck = $('.checkAll',$(jParent));	   
allcheck.click(function(){
	if(allcheck[0].checked){
	 	chk.each(function(){
	 			this.checked = true;
		});
	}else{
	  chk.each(function(){
	 			this.checked = false;
	  });
	}		
});
}

/*
************************* 键盘上下键事件 event ******************************
**/
var temp_elements = [];

// 键盘上下左右事件
function keyboardLeftUpRightDownEvent() {
	var keyCode = event.keyCode;
	switch (keyCode) {
		case 37: // 向左键盘事件
			keyboardLeft(event.srcElement);
			break;
		case 38: // 向上键盘事件
			keyboardUp(event.srcElement);
			break;
		case 39: // 向右键盘事件
			keyboardRight(event.srcElement);		
			break;
		case 40: // 向下键盘事件
			keyboardDown(event.srcElement);
			break;
		case 13: // 回车事件
			keyboardRight(event.srcElement);
			break;
	}
}

// 向左键盘事件
function keyboardLeft($this) {
	if ($this == null) return;
	
	var temp_nextInput = getPreviousInput($this);
	if (temp_nextInput == null) return;
	temp_nextInput.focus();
	checkInputClick(temp_nextInput);
}

// 向上键盘事件
function keyboardUp($this) {
	if ($this == null) return;
	
	var temp_table = null; 		// 事件当前表格
	var temp_rowCount = null	// 事件当前表格行数
	var temp_rowIndex = null; 	// 事件当前行index
	var temp_cellIndex = null; 	// 事件当前列index
	var temp_nextInput = null;	// 事件当前input	
	temp_table = $this.parentElement.parentElement.parentElement.parentElement;
	temp_rowCount = $this.parentElement.parentElement.parentElement.parentElement.rows.length;
	temp_rowIndex = $this.parentElement.parentElement.rowIndex;
	temp_cellIndex = $this.parentElement.cellIndex;	
	// 如果当前行是第一行
	if (temp_rowIndex == 0) return;
	temp_nextInput = temp_table.rows[temp_rowIndex - 1].cells[temp_cellIndex].children[0];
	if (temp_nextInput == null) return;
	temp_nextInput.focus();
	checkInputClick(temp_nextInput);
}

// 向右键盘事件
function keyboardRight($this) {
	if ($this == null) return;
	if ($this.marker != null && $this.marker == "end") {
		return;
	}
	
	var temp_nextInput = getNextInput($this);
	if (temp_nextInput == null) return;
	temp_nextInput.focus();
	checkInputClick(temp_nextInput);
}



// 向下键盘事件
function keyboardDown($this) {
	if ($this == null) return;
	
	var temp_table = null; 		// 事件当前表格
	var temp_rowCount = null	// 事件当前表格行数
	var temp_rowIndex = null; 	// 事件当前行index
	var temp_cellIndex = null; 	// 事件当前列index
	var temp_nextInput = null;	// 事件当前input
	
	temp_table = $this.parentElement.parentElement.parentElement.parentElement;
	temp_rowCount = $this.parentElement.parentElement.parentElement.parentElement.rows.length;
	temp_rowIndex = $this.parentElement.parentElement.rowIndex;
	temp_cellIndex = $this.parentElement.cellIndex;
	
	// 如果当前行是最后一行
	if (temp_rowIndex + 1 == temp_rowCount) return;
	temp_nextInput = temp_table.rows[temp_rowIndex + 1].cells[temp_cellIndex].children[0];
	if (temp_nextInput == null) return;
	temp_nextInput.focus();
	checkInputClick(temp_nextInput);
}

// 根据传入input查看此input是否有click事件，有则调用click
function checkInputClick($temp_nextInput) {
	if ($temp_nextInput == null) return;
	if ($temp_nextInput.onclick == null) return;
	$temp_nextInput.click();
}


// 鼠标回车向下事件
function keyboard_event() {
	var elements = document.getElementsByTagName("input");
	if (elements == null) return;
	if(window.addEventListener) {
        //其它浏览器的事件代码: Mozilla, Netscape, Firefox
        //添加的事件的顺序即执行顺序 //注意用 addEventListener 添加带on的事件，不用加on
        //$('srchtxt').addEventListener('keypress', keyPressEvt, false);
    } else {
    	// ============================ IE 事件 ===============================
    	var j = 0;   
    	for (var i = 0; i < elements.length; i++) {
    		var temp_element = elements[i];
    		if (temp_element.id != null && temp_element.id != "" && temp_element.type != null 
    		&& temp_element.type.toLowerCase() != "hidden" 
    		&& temp_element.style.display.toLowerCase() != "none" 
    		) {
    			var temp_type = temp_element.type.toLowerCase();
    			if (temp_type == "text" || temp_type == "select" || temp_type == "textarea") {
    				temp_elements[j++] = temp_element;
    				attachEventInput(temp_element.id, 'onkeydown', keyboardLeftUpRightDownEvent);
    			}
    		}
    	}
    }
}

// 添加事件 
function attachEventInput($id, $type, $func) {
	getObj($id).attachEvent($type, $func);
}

// 事件的前一个input
function getPreviousInput($this) {
	for (var i = 0; i < temp_elements.length; i++) {	
		if (temp_elements[i] == $this && i != 0) {		
			return temp_elements[i - 1];
		}
	}	
	return null;
}

// 事件的后一个input
function getNextInput($this) {
	for (var i = 0; i < temp_elements.length; i++) {	
		if (temp_elements[i] == $this && i != temp_elements.length - 1) {
			return temp_elements[i + 1];
		}
	}	
	return null;
}

/*
************************* select *************************************
**/

// 填充页面 select控件值 $selectId 页面select id $value 数组 $code 欲显示code值
function fillSelect($selectId, $array, $code) {
	if ($selectId == null || $selectId.trim() == "") return;
	if ($array == null) return;
	var temp_select = getObj($selectId); if (temp_select == null) return;
	
	temp_select.options.length = 1;
	var temp_array = $array;
	var temp_option_head = "";
	var temp_index = 0;
	for (var i = 0; i < temp_array.length; i++) {
		var temp_option = new Option(temp_array[i].name, temp_array[i].code);
		temp_select.options.add(temp_option);
		if ($code != null && $code != "" && temp_array[i].code == $code) {
			temp_option.selected = true;
		}
	}	
}

// 设置页面 select控件值 $selectId 页面select id $value 欲设置值
function setSelect($selectId, $value) {
	if ($selectId == null || $selectId.trim() == "") return;
	if ($value == null) return;
	var temp_select = getObj($selectId); if (temp_select == null) return;
	var temp_array = temp_select.options;
	var temp_index = 0;
	for (var i = 0; i < temp_array.length; i++) {
		var temp_option = temp_array[i];
		if (temp_option.value == $value) {
			temp_index = i;
			break;
		}
	}
	temp_array[temp_index].selected = true;
}
//设置页面 select控件值 $selectId 页面select id $text 欲设置值
function setSelect_text($selectId, $value) {
	if ($selectId == null || $selectId.trim() == "") return;
	if ($value == null) return;
	var temp_select = getObj($selectId); if (temp_select == null) return;
	var temp_array = temp_select.options;
	var temp_index = 0;
	for (var i = 0; i < temp_array.length; i++) {
		var temp_option = temp_array[i];
		if (temp_option.text == $value) {
			temp_index = i;
			break;
		}
	}
	temp_array[temp_index].selected = true;
}


// 取select文本值 $selectId
function getSelectText($selectId) {
	if ($selectId == null) return null;
	var temp_select = getObj($selectId); if (temp_select == null) return;
	var temp_array = temp_select.options;
	var temp_index = 0;
	for (var i = 0; i < temp_array.length; i++) {
		var temp_option = temp_array[i];
		if (temp_option.selected) {
			temp_index = i;
			break;
		}
	}	
	return temp_array[temp_index].text;
}

// $showName 默认在下拉框中显示字样 如为空时显示 请选择
function clear_select($selectId, $showName) {
	if (getObj($selectId)) {
		getObj($selectId).options.length = 0;	
	}
	if ($showName == null || $showName.trim() == "") {
		getObj($selectId).options.add(new Option("请选择", ""));
	} else {
		getObj($selectId).options.add(new Option($showName, ""));
	}
}

/*
************************* radio **************************************
**/

// 取radio值 $name radio组名称name
function getRadioValue($name) {
	if ($name == null) return null;	
	var items = document.getElementsByName($name);	if (items == null) return null;
	var length = items.length; if (length == 0) return null;	
	for (var i = 0; i < length; i++) {	
		if (items[i].checked) {		
			return items[i].value;
		}
	}	
	return null;
}

//剔除空白节点
function cleanWhitespace(element) {
	for(var i = 0; i < element.childNodes.length; i++){
		var node  = element.childNodes[i];
		if(node.nodeType == 3 && !/\s/.test(node.nodeValue)){
			node.parentNode.removeChild(node);
		}
	}
}


/*
************************* 页面分店相关 **************************************
**/
function checkFdhCount($id) {
	var url = getBasePath() + "/common_fd.do?method=getFdhCount_ajax";
	url += getRmdStr();
	var params = {};
	$.post(url, params, function(result) {
		var temp_result = eval(result);
		if (temp_result == 1) {
			hideObj("fdh");
			hideObj($id);
		} else if (temp_result > 1) {
			showObj("fdh");
			showObj($id);
			getObj($id).onclick = function() {
				on_s_s("page", "/page/common/fd.jsp", $id);
			};
		}	
	});
}


;(function($){
	$.updown = {
        init:function(grid){
		    var input = $('input[type=text],input[type=password]',grid);
			$.updown.addInputEvent(grid,input);
		},
		addInputEvent:function(grid,input){
			input.each(function(j){
		             $(this).keyup(function(event){
		                 var keyCode = event.keyCode;
		                 switch(keyCode){
		                 case 37:
		                	 $.updown.getLeftInput($(this),grid,j,input);break;
		                 case 38:
		                	 $.updown.getUpInput($(this),grid,j,input);break;
		                 case 39:
		                	 $.updown.getRightInput($(this),grid,j,input);break;
		                 case 40:
		                	 $.updown.getDownInput($(this),grid,j,input);break;
		                 case 13:
		                	 $.updown.getRightInput($(this),grid,j,input);break;
		                   }
		                 });
				  });
		},
		getLeftInput:function(obj,grid,j,input){
            var pre_obj="";
            if(j==0){
            pre_obj = input.last();	
            }else{
            pre_obj = input.eq(j-1);	
            }
			pre_obj.focus();
		},
		getUpInput:function(obj,grid,j,input){
			var this_td = obj.parent();
			var this_tr = this_td.parent();
			var index = this_td.index();
			var prev_tr = this_tr.prev();
			var pre_obj="";
			if(prev_tr.length!=0){
				 pre_obj =prev_tr.find('td').eq(index).find('input');
				  if(pre_obj.length==0){
					  pre_obj = prev_tr.find('input').last()||input.eq(j-1);
				  }
			    }else{
			     pre_obj =input.last();
			        }
			pre_obj==""?"":pre_obj.focus();
		},
		getRightInput:function(obj,grid,j,input){
			var pre_obj="";
            if(j==(input.length-1)){
            pre_obj = input.eq(0);	
            }else{
            pre_obj = input.eq(j+1);	
            }
			pre_obj.focus();
		},
		getDownInput:function(obj,grid,j,input){
			var this_td = obj.parent();
			var this_tr = this_td.parent();
			var index = this_td.index();
			var next_tr =this_tr.next();
			var pre_obj="";
			if(next_tr.length!=0){
				 pre_obj =next_tr.find('td').eq(index).find('input');
				  if(pre_obj.length==0){
					  pre_obj = next_tr.find('input').last()||input.eq(j+1);
				  }
			    }else{
			     pre_obj =input.first();
			        }
			pre_obj==""?"":pre_obj.focus();
		}
	};
})(jQuery);

;(function($){
	$.menu3 ={
		init:function(id,pid){
		  var menu = $('#'+id);
		  var url =getBasePath()+"/loginAction.do?action=getThreeMenu&rmd="+Math.random();
		  this.getMenu(menu,pid,url);
	    },
	    getMenu:function(menu,pid,url){
	    	 var dataParams = {
	   	 	    t_parentid : pid
	    	  };
	    	$.ajax({
	           type:"post",      
	           data:dataParams,
	           url:url,
	           success:function(data){$.menu3.saveResult(data,menu);},
	           error:function(){alertMsg.info("通信失败!");}
	            }); 
	    },
	    saveResult:function(data,menu){
	   	  if (data == null) return;	
	 	  data = eval(data);
	 	  var temp = "";									
	 	  for(i=0;i<data.length;i++){
	 	 	var pro = data[i];
	        temp+='<td><div class="button" id="btn_search"><div class="buttonContent" onclick="'+pro.t_url+'"><button>'+pro.t_title+'</button></div></div></td>';
	      } 
	 	  menu.after(temp);
		  target_init();
	    }
	};
})(jQuery);